using System;

namespace CubeTimer
{
  public class CubeTime
  {
    private long m_id;
    private DateTime m_when;
    private TimeSpan m_time;
    private string m_cubeType;
    private string m_scramble;

    public CubeTime()
    { }

    public CubeTime(DateTime when, TimeSpan time, string cubeType, string scramble)
    {
      Time = time;
      When = when;
      CubeType = cubeType;
      Scramble = scramble;
    }

    internal CubeTime(long id, DateTime when, long ticks, string cubeType, string scramble)
    {
      Id = id;
      When = when;
      ElapsedTicks = ticks;
      CubeType = cubeType;
      Scramble = scramble;
    }

    public long Id
    {
      get { return m_id; }
      set { m_id = value; }
    }

    public DateTime When
    {
      get { return m_when; }
      set { m_when = value; }
    }

    public TimeSpan Time
    {
      get { return m_time; }
      set { m_time = value;}
    }

    public long ElapsedTicks
    {
      get { return Time.Ticks; }
      set { Time = new TimeSpan(value); }
    }

    public string CubeType
    {
      get { return m_cubeType; }
      set { m_cubeType = value; }
    }

    public string Scramble
    {
      get { return m_scramble; }
      set { m_scramble = value; }
    }
  }
}